package com.newtouch.bxzs.database.service;

import com.newtouch.bxzs.common.base.model.bo.DataDictionaryValueBO;
import com.newtouch.bxzs.database.model.bo.DataDictionaryBO;
import com.newtouch.bxzs.database.model.vo.DataDictionaryVO;

import java.util.HashMap;
import java.util.List;

/**
 * 数据字典管理的service接口
 *
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2021/1/5/td>
 * <td>zhangqianyang</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author zhangqianyang
 * @version 1.0.0
 * @since 1.0.0
 */

public interface DataDictionaryService {

	/**
	 * 获取数据字典列表
	 *
	 * @param dataDictionaryName
	 *            数据字典名称
	 * @return 数据字典列表
	 */
	List<DataDictionaryBO> getDataDictionaryList(String dataDictionaryName);

	/**
	 * 新增数据字典
	 *
	 * @param dataDictionaryVO
	 *            数据字典VO类
	 */
	String modifyDataDictionary(DataDictionaryVO dataDictionaryVO);

	/**
	 * 获取所有的字典值，放在缓存中
	 */
	HashMap<String, List<DataDictionaryValueBO>> getAllDataDictionaryEntry();

	/**
	 * 根据字典编码获取字典对应的值
	 *
	 * @param dictionaryCode
	 *            字典编码
	 * @return 字典值
	 */
	List<DataDictionaryValueBO> getDataDictionaryEntry(String dictionaryCode);

	/**
	 * 通过数据字典ID获取数据字典编码
	 *
	 * @param dataDictionaryId 数据字典ID
	 * @return 数据字典编码
	 */
	String getDataDictionaryCodeById(String dataDictionaryId);
}
